1. Technical Field
The present invention relates to the field of computer networking and, more particularly, to autonomic application servers.
2. Description of the Related Art
Computer systems are becoming so elaborate that system administrators and users are beginning to have difficulties managing their complexity. The concept of autonomic computing has been developed to address the problem of managing complexity within computing systems. Autonomic computing is a self-managing computing model named after, and patterned on, the human body's autonomic nervous system. An ideal autonomic computing system can control the functioning of computer applications and systems without input from the user, in the same way that the autonomic nervous system regulates body systems without conscious input from the individual. The goal of autonomic computing is to create systems that run themselves and are capable of high-level functioning while keeping the system's complexity invisible to the human operators.
Conventional application server infrastructures are not autonomic or self-managing systems. When particular segments of conventional application server infrastructures are overloaded, a bottleneck can be formed. Worse, the bottleneck can result in a cascading effect also called a domino effect. That is, when one component within the infrastructure experiences a bottleneck or system degradation, the other components which rely on or are attached to the bottlenecked component also suffer degradation. Eventually, the entire system falls into an increasing cyclic degradation loop until the system becomes nonfunctional. Once the cascading effect occurs, the entire system degrades even though only a few system components are actually overloaded.
The cascading effect is especially prominent within Web server architectures that have numerous critical components that can bottleneck the system. Further, Web browser users can excessively repeat commands whenever the processing of the original command is slow. The repeated commands, of course, only increase the processing requirements at the bottleneck causing the system performance to further degrade.
Conventional attempts to resolve the cascading effect are typically handled at the network or hardware level. That is, network traffic is automatically routed from a bottlenecked component to an alternative component that is approximately equivalent to the bottlenecked one. A hardware and/or network level solution, however, can result in the need for significant redundancies of expensive system components. Moreover, conventional solutions do not address the root causes of bottlenecks, which experience and industry analysis has proven to be attributable to the application layer of a computing environment in a large number of cases.